import {getTopic} from "../api/CommonApi";

/**
 * 加载栏目信息数据mixin
 * @author wwy
 */
export default {
    name:'LoadTopicInfoMixin',
    data(){
        return{
            // 栏目数据
            topicData:{},
            // 配置数据
            loadTopicInfoSetting:{
                // 栏目code
                code:'',
                // 是否加载中
                loading:false,
                // 是否加载失败
                fail:false,
            },
        }
    },

    methods:{
        //设置code
        setTopicInfoCode(code){
            this.loadTopicInfoSetting.code = code;
        },
        //加载栏目和其所有子栏目信息
        loadTopicInfo(code){
            const setting = this.loadTopicInfoSetting || {}
            if(!code){
                code = setting.code
            }
            // 省流
            if(code === setting.code && setting.loading){
                return
            }
            // 加载栏目数据 设置状态为加载中
            this.loadTopicInfoSetting.loading = true
            this.topicData = {}
            // 从后台获取栏目数据
            return getTopic(code).then(res => {
                // 设置后台返回数据到topicData中
                this.topicData = res.result || {}
                this.loadTopicInfoSetting.fail = false
                console.log(" this.topicData = ",  this.topicData);
            }).catch(err => { // 加载失败
                console.error(err)
                this.loadTopicInfoSetting.fail = true
            }).finally(() => { // 将状态设置为加载完毕
                this.loadTopicInfoSetting.loading = false
            })
        }
    },
}
